home *** CD-ROM | disk | FTP | other *** search
/ Shareware Super Platinum 8 / Shareware Super Platinum 8.iso / mac / PROGTOOL / MBLIB10.ZIP;1 / CPPEXAMP.ZIP / MSGBASE.HPP < prev    next >
Encoding:
C/C++ Source or Header  |  1993-01-02  |  1.7 KB  |  78 lines

  1. #ifndef    __MSGBASE_HPP
  2.  
  3. #define    __MSGBASE_HPP
  4.  
  5. #include    "mbliberr.hpp"
  6. #include    "msgtxt.hpp"
  7. #include    "msghdr.hpp"
  8.  
  9. #include    "mb_lib.h"
  10.  
  11. class MsgBase: public MbLibErr, MsgHdr, MsgTxt
  12. {
  13.     private:
  14.  
  15.     protected:
  16.  
  17.         long            current;    // current record (PrevTo, NextTo)
  18.         unsigned char    board;
  19.         char            path[81];    // path to the messagebase files (*.BBS)
  20.         MSGIDX_RECORD    MsgIdx;
  21.         MSGTOIDX_RECORD    MsgToIdx;
  22.         MSGINFO_RECORD    MsgInfo;
  23.  
  24.     public:
  25.  
  26.                 MsgBase (void);                // init object, open msgbase in curr. dir.
  27.                 MsgBase (char *_path);        // init object, open msgbase in path
  28.         virtual    ~MsgBase (void);
  29.  
  30.         // locking services
  31.  
  32.         int        Lock (void);            // semafore dir. is msgbase dir
  33.         int        Lock (char *_semapath);
  34.         void    Unlock (void);
  35.  
  36.         //    manipulation services
  37.  
  38.         long            MsgNr2RecNr (int msgnr);
  39.         unsigned int    RecNr2MsgNr (long recnr);
  40.  
  41.         //    read services
  42.  
  43.         void    ReadInfo (void);
  44.         int        ReadHdr (long recnr);
  45.         int        ReadIdx (long recnr);
  46.         int        ReadToIdx (long recnr);
  47.         M_TEXT    ReadText (void);
  48.         M_TEXT    ReadText (long recnr);        // convenience function
  49.  
  50.         //    write services
  51.  
  52.         void    WriteInfo (void);
  53.         int        WriteHdr (long recnr);
  54.         int        WriteIdx (long recnr);
  55.         int        WriteToIdx (long recnr);
  56.         int        WriteText (void);
  57.         int        WriteText (long recnr);        // convenience function
  58.         int        WriteNew (void);
  59.  
  60.         int        Kill (long recnr);
  61.  
  62.         //    search services
  63.  
  64.         void    Board (unsigned char _board) { board = _board; };
  65.         int        Board (void) { return ( (int) board ); };
  66.  
  67.         long    First (void);
  68.         long    Next (void);
  69.         long    Last (void);
  70.         long    Prev (void);
  71.         long    FirstTo (MSGTOIDX_RECORD *_user);
  72.         long    NextTo (void);
  73.         long    LastTo (MSGTOIDX_RECORD *_user);
  74.         long    PrevTo (void);
  75. };
  76.  
  77. #endif
  78.